#include<stdlib.h>
#include<cstring>
#include<errno.h>
#include<cstdio>
#include<iostream>
using namespace std;

#include<sys/types.h>
#include<sys/wait.h>
#include<signal.h>
#include<unistd.h>
#include<signal.h>

void hander(int sig)
{
    cout<<"我是一个进程，刚刚获取了一个信号： "<< sig <<endl;
    exit(1);
}
int main()
{
    // for(int sig=1;sig<=31;sig++)
    // {
    //     signal(sig,hander);
    // }
    pid_t id=fork();
    if(id==0)
    {
        int a=10;
        a/=0;
        exit(1);
    }

    int status=0;
    int ret=waitpid(id,&status,0);
    printf("exitcode: %d signal: %d,core dump flag:%d\n",(status>>8)&0xff,
    status&0x7f,(status>>7)&0x1);

    return 0;
}